home *** CD-ROM | disk | FTP | other *** search
/ The Learning Curve / The Learning Curve (Weird Science, 1996).iso / mathematics / plotters / comgraph / comgraph.doc < prev    next >
Encoding:
Text File  |  1978-01-09  |  21.6 KB  |  475 lines

  1.  
  2.                          Documentation to Comgraph
  3.  
  4.  
  5.                         """""""""""""""""""""""""""
  6.                           """""""""""""""""""""""
  7.                             """""""""""""""""""
  8.  
  9.  
  10. Configuration needed : Kickstart 1.2 or higher
  11.                        1 MB Memory
  12.  
  13. Libraries needed in the systemdirectory LIBS:
  14.   MathIEEEDoubBas.library
  15.   MathIEEEDoubTrans.library
  16.  
  17. Devices needed in the systemdirectory DEVS:
  18.   printer.device
  19.   parallel.device
  20.   serial.device
  21.  
  22.  
  23. Comgraph is a 2D-functionplotter, handling up to 10 functions and 5 of their
  24. differentations at the same time. Further it has the possibility to
  25. create 10 bands per function (including their differentations!). The
  26. screen used has always the same resolution as the Workbenchscreen, so also
  27. the new resolutions can be used, whereas the printer output is not simply
  28. a hardcopy (is also possible), but a to the resolution of the printer
  29. fitted result. The size (in cm) and the density of the print can be
  30. choosen freely.
  31. A build-in curvediskussion calculates the first and second symbolic
  32. differentiation and determine zero digits, extrema, turning points
  33. (saddle points), pole digits and definition gaps and symmetry.
  34. Tables of values can be printed, for those who like more to draw
  35. the functions by themselves.
  36. Furthermore the program has a calculator, prime number calculations
  37. and prime factor reduction.
  38. The programm contains a german- and also an english version.
  39. It uses routines working with LONGREAL numbers (64 Bit floating point)
  40. and so they are a bit slow, but they work in smallest areas exact.
  41. The loss of speed against FFP (Fast Floating Point) is less bad than
  42. inexact values.
  43.  
  44.  
  45. Start of the program :
  46.  
  47.   From the CLI :
  48.     Stack 100000          (can also work with less memory)
  49.     Comgraph [-gb] [+gb]
  50.  
  51.   From the WorkBench :
  52.     If there are no options to start with, just doubleclick the icon
  53.     of Comgraph, else click that icon once, press SHIFT and click
  54.     all wished options, the last option have to be doubleclicked.
  55.  
  56.   The options :
  57.     +g install german version
  58.     -g install english version
  59.     +b show all bitplanes
  60.     -b kill one bitplane => memoryprofit (loss of colors)
  61.  
  62.     Standard the options are set to :
  63.       english version with all bitplanes
  64.  
  65.     Furthermore there is the possibility to set the options by the
  66.     Environmentsystem :
  67.       SetEnv Comgraph [-gb] [+gb]
  68.  
  69.     When the environment is used, all options are set to the given values.
  70.     Given options at the start of the program have a higher priority than
  71.     the environment options.
  72.  
  73.   After the start an empty screen should appear with a titlebar containing
  74.   the name of the program and the copyright.
  75.  
  76.  
  77.  
  78. The Menus :
  79.  
  80.   Project :
  81.  
  82.     Info                             <AMIGA>+A
  83.       shows informations about the program, the copyright and the free
  84.       Chip- and FastMemory.
  85.  
  86.     Workbench                        <AMIGA>+B
  87.       close/open whe WorkBench to spare ca. 45 KB Memory (If there is
  88.       less than 200 KB ChipMem at the start of the program, it tries to
  89.       close the WorkBench automatically). In order to close the
  90.       WorkBench there may only be WorkBenchWindows on it!
  91.  
  92.     Quit                             <AMIGA>+Q
  93.       leaves the program after a security check.
  94.  
  95.  
  96.   Plotter :
  97.  
  98.     Coordinate system                <AMIGA>+S
  99.       asks the x- and y-axis interval to be displayed, on which values
  100.       marks should be set (e.g. an interval [0;100] could have marks
  101.       lying 10 units apart from each other, so 11 marks would be
  102.       created. If a mark would be set at each unit, there would be
  103.       101 marks that can not clearly be distuingished!). The number
  104.       of points between the marks are displayed in a grid lying over
  105.       the coordinate system. Each part of that grid has a certain
  106.       number of points, normaly 10 points in each direction (dividing
  107.       the marks in 10 parts).
  108.       Logarithmic scales can be installed in X-, Y- or in both directions
  109.       by selecting the respective gadgets. Because negative logarithm do not
  110.       exist, all logarithmic scales start at 1. The marks would
  111.       in higher areas accumulate, so these marks will not be set in
  112.       equal distances. Each mark has twice the value of the former (e.g.
  113.       1,2,4,8,16...).
  114.  
  115.     Zoom                             <AMIGA>+Z
  116.       creates a cross on the screen after selecting, that can be moved
  117.       with the mouse over the screen. By a simple click on the left
  118.       mousebutton one corner of the zoomwindow is choosen. After moving
  119.       the pointer to the opposite corner of that zoomwindow and
  120.       clicking the left mousebutton the second time the area will be
  121.       zoomed.
  122.       This function will not work if something was changed in the
  123.       functions or in the coordinate system between the drawing of the
  124.       curves and the selection of 'Zoom'. In that case the curves have
  125.       to be drawn again (at least a part of them).
  126.  
  127.     Enter functions                  <AMIGA>+E
  128.       asks at first what function should be edited. To do that a
  129.       requester is opened showing all functions in memory.
  130.       After a function was choosen an other requester is opened where
  131.       the function terms can be edited. The format of the terms will
  132.       be given later on.
  133.       Curve bands will be used with a constant in the function term that
  134.       can be replaced by given values. So functions are possible that
  135.       have no concrete value for a variable (e.g. f(x)=k*x^2 ). It is
  136.       possible to draw the graph for different values of 'k' at the
  137.       same time. The number of bands (curves) of one function that
  138.       should be drawn must be set on values over 1, but only if there
  139.       is really a constant 'k' in the term. Otherwise the same curve will
  140.       be drawn several times over itself and that will make the program
  141.       lots slower.
  142.       Every (!) function can have up to ten bands that can be displayed at
  143.       the same time on the screen. Next the start value of the constant have
  144.       to be choosen and its step that will be added on the constant for
  145.       the next band. So pseudo-3D functions are possible.
  146.       At least the number of differentiations is asked that will be
  147.       drawn on the screen. The given number of differentiations will be
  148.       drawn for all bands of the actual function! The maximal number
  149.       of derive functions are five. As higher the degree of the derive
  150.       as more time will be needed to be drawn! So unneeded differentiations
  151.       should not be drawn.
  152.  
  153.       The syntax of the functions terms :
  154.         Small and capital letters (also mixed) are allowed, as well
  155.         as Spaces (not in names of functions or of constants).
  156.         Brackets can be set everywhere as long as they maintain the
  157.         mathematical order.
  158.  
  159.         The following commands are allowed :
  160.           x               :  X-axis value
  161.           +,-,*,/,^       :  The five basic kinds of calculation
  162.           ()              :  Brackets (to set priorities)
  163.           sin(),cos()     :  Sine and cosine
  164.           tan(),cot()     :  Tangens and cotangens
  165.           asin(),acos()   :  Arcussine and arcuscosine
  166.           atan(),acot()   :  Arcustangens and Arcuscotangens
  167.           sinh(),cosh()   :  Sine and cosine hyperbolicus
  168.           tanh(),coth()   :  Tangens and cotangens hyperbolicus
  169.           asinh(),acosh() :  Arcussine and arcuscosine hyperbolicus
  170.           atanh(),acoth() :  Arcustangens and arcuscotangens hyperbolicus
  171.           exp()           :  Exponentialfunction (e^x)
  172.           sqr()           :  Squareroot
  173.           log()           :  decadentic logarithm (to the basis 10)
  174.           ln()            :  Logarithm naturalis (to the basis e)
  175.           abs()           :  Absolut value (Betragsfunktion)
  176.  
  177.           k               :  'Constant' of the curve bands
  178.  
  179.           pi              :  Circle number (ca. 3.14159265358979323846)
  180.           e               :  Eulers number (ca. 2.71828182845904523536)
  181.           epso            :  Electric fieldconstant (ca. 8.8542*10^(-12))
  182.           myo             :  Magnetic fieldconstant (PI*4.0*10^(-7))
  183.           c               :  Lightspeed (ca. 2.997925*10^8)
  184.           h               :  PLANK-Constant (ca. 6.6256*10^(-34))
  185.           qe              :  Basic electric charge (ca. 1.6021*10^(-19))
  186.           me              :  Mass of an electron (calm) (ca. 9.1091*10^(-31))
  187.           u               :  Atomic Massunit (ca. 1.660277*10^(-27))
  188.           gk              :  Gravityconstant (ca. 6.67*10^(-11))
  189.  
  190.           Numeric constants can be given in this way (e.g.) :
  191.             1 ! -2 ! 5.6521 ! -3.998 ! 2.543E+08 ! 42.4432E-32
  192.  
  193.           Physical units will not be accepted!
  194.  
  195.           To use functions not implemented please build other
  196.           functions e.g. from the appendix of the Basic-Manual.
  197.           (e.g. logarithm to the basis b => log(x)/log(b) )
  198.  
  199.           Further there is something special with negating signs.
  200.           This sign has the highest priority. -x^2 is calculated
  201.           intern as (-x)^2. To set the term correct should be used
  202.           brackets : -(x^2). But you should not only use brackets
  203.           by using this sign, also if you use several divisions
  204.           like 3/x/k, where always should been set brackets (either
  205.           (3/x)/k or 3/(x/k) )!
  206.  
  207.         All open brackets have to be closed!
  208.  
  209.     Draw functions                   <AMIGA>+C
  210.       opens again a requester, where the functions to be drawn
  211.       could be choosen. The first letters of the functions
  212.       are written behind the individual gadgets. After the selection
  213.       the plotter starts with 'OK' or cancels the selection with
  214.       'CANCEL'.
  215.       Pressing Space stops the drawing process. Not the whole interval
  216.       is needed to be drawed in order to zoom or to print the graph
  217.       (only if you wish an hardcopy you should draw the graph completly
  218.       on the screen!).
  219.  
  220.     Coordinates                      <AMIGA>+W
  221.       draws again a cross on the screen at the actual mouseposition
  222.       and its coordinates in the graphs world in the right Titlebar.
  223.       This function can be ended after pressing the left mousebutton.
  224.  
  225.     Discussion                       <AMIGA>+K
  226.       asks at first the function to be discussed. A second requester
  227.       asks the interval to be searched, which 'k' constant of a band should
  228.       be used and how high the search density should be. As higher the
  229.       density as better the result and the longer takes the calculations.
  230.       The given value is enough for the most functions.
  231.       Then there will be opened a window where are two gadgets. 'GO ON'
  232.       turns the 'page' if it was fully written. 'CANCEL' will end
  233.       the discussion.
  234.       At first the first and second differentiation of the choosen
  235.       function will be generated and after that the zero digits, extrema
  236.       (Max = maximum, Min = minimum), turning points (T = turning point,
  237.       S = saddle point), pole digits and definition gaps as well as
  238.       symmetry like (periodical) axis- and pointsymmetry through any (!)
  239.       axis/point.
  240.       To leave the discussion at the end by selecting the 'GO ON' gadget.
  241.       If you want to get easily good differentiations you should do
  242.       this : Get the first differentiation of the wanted function and
  243.       optimize it by yourself. Then start a new function with that
  244.       optimized differentiation and make again a discussion of the
  245.       (new) function. The first differentiation (that is the second
  246.       of the basic function) can also be optimized and so on. Using
  247.       this method as often as needed gives you simple and quite good
  248.       optimized differentiations that else have to be calculated by
  249.       yourself.
  250.  
  251.     Calculate integrals              <AMIGA>+I
  252.       wants to know what type of integration should be used. There
  253.       are different types to be choosen :
  254.  
  255.         Integral :
  256.           Calculates the normal integral
  257.  
  258.         Area :
  259.           Calculates the area between the graph and the x-axis
  260.           (always positiv!)
  261.  
  262.         Area between two functions :
  263.           Calculates the area between two functions (always positiv!)
  264.  
  265.         Rotation body :
  266.           Calculates the volume of a body that will formed by turning
  267.           the function around the x-axis three dimensionaly, so the
  268.           function is the outline of the body
  269.  
  270.         Surface of rotation body :
  271.           Instead calculating the volume, the surface of such a body
  272.           is calculated
  273.  
  274.         Curve length :
  275.           Calculates the length of the curve in an interval
  276.  
  277.       The Simpson-rule is used to calculate the integrals. It could
  278.       take some seconds to get the result, depending on the density
  279.       set. As higher the density as preciser the result and longer
  280.       the time needed. The given value holds the error of the
  281.       result down by some ten thousandth. The error of the Simpson-rule
  282.       could also easily be estimated more precise by using this term
  283.       (b-a)^5/(180*(2*m)^4)*(max[a,b] f[4](x)) with a = start of the
  284.       interval, b = end, m = density of integration, max[a,b] f[4](x) =
  285.       maximum value of the fourth differentiation in the interval [a;b].
  286.       So you can see that by calculating polynoms up to the third
  287.       order nearly no errors may occur!
  288.  
  289.     Calculator                       <AMIGA>+T
  290.       opens a window with a scientific calculatoremulation. This
  291.       calculator should only make small conrollcalculations possible
  292.       and should not replace a full calculator!
  293.       Clicking on the 'OK' gadget will leave the function.
  294.       The key shortcuts are these :
  295.  
  296.       Expression:  Shortcut:            Meaning:
  297.          1/x          k           Reciprocal value
  298.          x^2          q           Square
  299.          y^x          y           y high x
  300.          SQR          w           Squareroot
  301.          EE           e           Exponetialdisplay and -input
  302.          x!           f           Faculty
  303.          SIN          s           Sinue
  304.          COS          c           Cosine
  305.          TAN          t           Tangens
  306.          LOG          l           Decantic logarithm
  307.          LNx          n           natural logarithm
  308.          ASIN         S           Arcus Sine
  309.          ACOS         C           Arcus Cosine
  310.          ATAN         T           Arcus Tangens
  311.          10^x         L           10th potency
  312.          e^x          N           Exponentialvalue
  313.          DRG          d           Change of the angleunit
  314.          sDRG         D           Change of the unit and value
  315.          %            %           Percentage
  316.          xWy          z           y root of x
  317.          PI           p           Circle number PI
  318.          e            a           Eulers number
  319.          x<>y       <TAB>         Changes value with memory
  320.          +/-          `           Changes the sign
  321.          C          <DEL>         Clear display
  322.          =         <RETURN>       Calculates the input
  323.  
  324.     Lin. equations                   <AMIGA>+G
  325.       is a module to solve lineare equations with two and up to seven
  326.       unknown. At first the number of unknown has to give in.
  327.       Then a new window opens with the right number of coefficients.
  328.       Behind the equals sign had to put the results of each term.
  329.       Until all values are correct, the computer calculates after
  330.       selecting the 'CALC' gadget the variables. It places the results
  331.       under the coefficients.
  332.       The program uses Gaußs-eliminationrule, so it is quite fast and
  333.       needs only some seconds to calculate a result.
  334.  
  335.     Prime factor reduction           <AMIGA>+M
  336.       asks for an integer number to reduct it into their prime factors.
  337.       The operation is similar to the discussion.
  338.  
  339.     Calculate prime numbers          <AMIGA>+N
  340.       opens a window and asks the start and end value. Then this
  341.       function calculates prime numbers until the user stops or
  342.       the end value is reached.
  343.       The operation is also similar to the discussion.
  344.  
  345.  
  346.   Printer :
  347.  
  348.     Print functions                  <AMIGA>+P
  349.       tests if the printer preferences was set and if not it first
  350.       calls the preferences. Please read the documentation at
  351.       'Printer preferences'.
  352.       After set all values needed, the computer opens a statuswindow
  353.       to show the progress in print and to stop the print by
  354.       selecting the 'CANCEL' gadget. It could take some seconds to
  355.       abort the print, because the computer calculates the actual
  356.       stripe and print it before the computer cancels.
  357.       The computer prints everything (and only that) what is on
  358.       the screen (at least at a part of the screen).
  359.       If functions were edited or the coordinate system was changed
  360.       since the last call of 'Draw functions' the curves have to
  361.       drawn again (it must not fill the screen completly, because
  362.       the print is not a hardcopy!). The computer calculates
  363.       all functions new for the printer to get an highresolutive Image.
  364.       The DMA-Screen turn off is possible with 'HELP'. This increases
  365.       the speed up to the factor two! See also the section about the
  366.       general use of keys.
  367.  
  368.     Print coordinate system          <AMIGA>+O
  369.       prints the intervals of the coordinate system, its marks and
  370.       further informations (like e.g. a logarithmic display) as Text.
  371.  
  372.     Discussion                       <AMIGA>+D
  373.       is excatly the same menupoint like in the menu 'Plotter' only
  374.       here all screenoutput is also send to the printer.
  375.  
  376.     Table of function values         <AMIGA>+V
  377.       asks for the number of values, the startvalue, the step that
  378.       will be added and a value for the constant 'k' (if existent in
  379.       the term).
  380.       Then the printer gives out a table for the selected function
  381.       in this order : X-value, function value, first three
  382.       differentiations values and the root function value.
  383.       So can easiely own graphs be drawn, if the quality of the print
  384.       is to bad or no graphics printer is available. (You can also
  385.       use a program to send the printer graphics into a file, so you
  386.       can read it afterwards.)
  387.  
  388.     Prime factor reduction           <AMIGA>+X
  389.     Calculate prime numbers          <AMIGA>+Y
  390.       See the documentation under the menu 'Plotter' only the output
  391.       is also send to the printer.
  392.  
  393.     Printing Preferences             <AMIGA>+F
  394.       opens a window in order to edit the printer preferences. The commen
  395.       preferences have to be set before the program is started.
  396.       With the keys '1'-'7' or selecting the individual gadget the
  397.       printing density is choosen. It has the same effect as in the
  398.       usual Preferences. The actual printing density is written under
  399.       these gadgets in DPI (Dots per Inch). These values are given
  400.       by the hardware of the choosen printer. Density 7 is always the
  401.       highest density and so the highest resolution. Under these values
  402.       the size of the inserted paper is given. There can also changed
  403.       the size of the print to any smaller values. So scaled prints
  404.       are possible (e.g. in the coordinate system with X and Y from
  405.       -5 to 5 and 10cm x 10cm printing size every unit is nearly excact
  406.       1cm long! So can easily printing models for school and university
  407.       be created). But as higher the resolution as longer will take the
  408.       time to print.
  409.       The last input is the distance from the left margin. So two or
  410.       more graphs can be printed side by side. To exit these preferences
  411.       select 'OK' or 'CANCEL', where 'CANCEL' will not accept the
  412.       changes made.
  413.  
  414.     Screenhardcopy                   <AMIGA>+H
  415.       is only needed if the print is urgent or only a rough print of
  416.       the graph is needed. This print uses also the printing preferences.
  417.       To make a hardcopy the screen have to be completly drawn, because
  418.       only the screencontent is printet! The screenbar will not be
  419.       printed.
  420.  
  421.  
  422.  
  423. General use of the keys :
  424.  
  425.   In nearly all parts of the program have particular key a special
  426.   effect. Here is a list of the keys that can be used instead of
  427.   selecting the gadgets (that is only possible if no stringgadget
  428.   is activated!) :
  429.  
  430.     <SPACE>,'w','o'        OK or GO ON, CALC (positive gadget)
  431.     'c'                    CANCEL, etc. (negative gadget)
  432.     'n'                    Next (in Enter functions)
  433.     'v'                    Last (in Enter functions)
  434.     'x','y'                Set logarithmic system on/off
  435.                            (in Coordinate system)
  436.     <RETURN>               Switches to the next stringgadget. If none was
  437.                            activated the first will be activated.
  438.                            With the help of <RETURN> can all gadgets
  439.                            be selected until none is activated any more.
  440.                            Then the booleangadgets can be selected by
  441.                            pressing the individual keys (e.g. 'OK',
  442.                            'CANCEL').
  443.     <HELP>                 Turns of all DMA (Direct Memory Access).
  444.                            The program will run twice the speed on a
  445.                            usual AMIGA computer.
  446.  
  447.  
  448.  
  449. Information to the copyright :
  450.  
  451.   © 1990-1993 by Andre Wiethoff. This program is Shareware and copyright-
  452.   protected. This program may only given away unmodified together with the
  453.   documentations.
  454.   Those who often use this program, should recompense my work with some
  455.   money. Depending on the interest on my program, it can be improved
  456.   (e.g. vectorcalculations, etc.) and definitly freed from errors.
  457.   Those who found errors in this program or have some ideas how to improve
  458.   it should contact me please.
  459.  
  460.  
  461. My contactaddress :
  462.  
  463.   Andre Wiethoff
  464.   Höhenweg 2
  465.   57392 Schmallenberg
  466.   Germany
  467.  
  468.  
  469. P.S. : This documentation is a bit funny, eh? I think that there are a lot
  470.        of new word creations and hard grammatical mistakes. I gave my
  471.        best, but I was the worst pupil in my english class. So if anybody
  472.        has a desire to correct this documentation and make it readable
  473.        I would be pleased to get a corrected copy.
  474.  
  475.